package org.nicocube.gwt.parser.token.client;

public interface Token<T extends TokenType> {

	/**
	 * @return The {@link Token} {@link TokenType}
	 */
	T getType();

	/**
	 * @return the inclusive begin position of this {@link Token}
	 */
	int getBegin();

	/**
	 * @return the non inclusive end position of this {@link Token}
	 */
	int getEnd();

	/**
	 * @return the portion of the lexed content covered by the {@link Token}
	 */
	String getPortion();

}